home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1993 July / Internet Tools.iso / RockRidge / security / pgp / pgp22 / src / readme.vms < prev    next >
Encoding:
Text File  |  1993-03-06  |  6.5 KB  |  144 lines

  1. PGP/Open VMS Version 2.2
  2. -------------------
  3.  
  4. All rights to PGP are reserved by Phil Zimmermann. All contributed modules
  5. are also subject to the copyrights of their individual authors, on the same
  6. conditions. Certain algorithms used by PGP are subject to patent restrictions
  7. and this software as a whole may be subject to export control in certain
  8. countries. Read the PGP Guide for full copyright information and for details
  9. about export control.
  10.  
  11. These notes are intended for those people using and working with PGP under
  12. the VAX/VMS and OpenVMS operating systems. These are intended to supplement
  13. rather than replace the PGP guide. You should read and understand the guide,
  14. particularly the section about key management.
  15.  
  16. Digital in their infinite wisdom have renamed VMS as of version 5.5 to OpenVMS.
  17. OpenVMS for VAX (the old VAX/VMS) has been renamed to OpenVMS/VAX and the new
  18. version for their RISC processor to OpenVMS/Alpha AXP. When I refer to VMS, I
  19. mean VAX/VMS version 5.3 and upwards and OpenVMS/VAX V5.5 and up. I am *not*
  20. referring to OpenVMS/Alpha AXP. See the developers notes for information.
  21. If you unzip under VMS using the public domain Zipper - you will probably have
  22. a problem with file characteristics. If you have the PD FILE utility, you can
  23. fix this by saying:
  24.  
  25. $ FILE/type=stream  *.*
  26.  
  27. Otherwise you can fix using either TPU or CONVERT/FDL.
  28.  
  29. PGP/VMS was written using the VAX C compiler, which you must have to
  30. compile it. If you wish to use another compiler, see the developers notes.
  31. PGP is provided with an MMS description file. To build using this file, go
  32. to the directory containing the uncompressed files and type the following:
  33.  
  34. $ MMS
  35.  
  36. You may wish to delete the object files at this point, they are not needed
  37. unless you are working on the code. To build a version under the VAX/VMS
  38. debugger, define the DCL symbol PGP_DEBUG=1. The debugger version will be
  39. built without any optimisation and will be *significantly* slower.
  40.  
  41. If you do not have MMS you may execute the DCL supplied command procedure 
  42. VMSBUILD.COM to compile and link PGP.
  43.  
  44. Once you have built PGP, it should be placed somewhere that is protected
  45. against tampering. It is not impossible that someone may replace PGP.EXE 
  46. with a patched version designed to capture keys. You may wish to use the 
  47. CHECKSUM utility (CHECKSUM/IMAGE PGP.EXE) to control against modifications, 
  48. however CHECKSUM does not use very effective algorithms and may itself be 
  49. compromised.
  50.  
  51. You should then use PGP by defining it as an "external command" in your
  52. LOGIN.COM, or alternative the system wide login command procedure, SYLOGIN.
  53. This is done simply with the following line of DCL:
  54.  
  55. $ PGP:==$device:[directory]PGP
  56.  
  57. After executing this line (remember the dollar sign before the device name), 
  58. you should be able to display a help text by typing:
  59.  
  60. $ PGP
  61.  
  62. PGP will want to retain the keyrings and some other information. These are
  63. stored in the device and directory pointed to by the logical name PGPPATH.
  64. You should copy the files LANGUAGE.TXT and CONFIG.TXT to this directory.
  65.  
  66. Your secret keyring contains information that could be cryptographically
  67. analysed - it must be protected against world access. However, your secret key
  68. ring is encrypted so is protected against casual browsing. If anyone that you
  69. can not trust has privileged access to your system, your plaintext files are
  70. vulnerable and potentially, also your keyrings.
  71.  
  72. Note that keyrings should be directly transportable between VMS, MSDOS
  73. and other PGP implementations. Text files may not be portable because of the
  74. different text record representations across operating systems. If you wish
  75. to send a text file to a system other than VAX/VMS, you are recommended to
  76. use the 'canonical-form' switch '-t'.
  77.  
  78. If you wish to take binary files such as backup savesets between two systems
  79. running VMS, you can use the special flag 'i' with the encrypt function to
  80. preserve the file and record characteristics. When decrypting, PGP will read
  81. the 'i' flag and the type of the system that created the file. If both systems
  82. are VMS, the file will be correctly decrypted with the correct file
  83. characteristics.
  84.  
  85. Developers Notes
  86. ----------------
  87.  
  88. There are two key conditionals throughout the source for the VAX/VMS
  89. implementation:
  90.  
  91. VAXC -  Allows specific optimisations permitted by the VAX C compiler and
  92.         overcomes problems with the differences between VAX C and ANSII C.
  93.  
  94. VMS  -  This allows VMS specific file handling and some optimisations. It
  95.         should be noted that the primitives do not work with
  96.     OpenVMS/Alpha AXP until someone has done some work on porting VAX.MAR.
  97.     Other RISC implementations have always shown disappointing performance
  98.     when relying on C alone.
  99.  
  100. There was also some preliminary work done on porting this to GNU C and indeed
  101. an earlier (developers) version ran under GNU C. The code affected is usually
  102. conditionalised with GCC. If someone wishes to complete this and (hopefully)
  103. integrate the inline assembler stuff used for moves and zero-fills, this
  104. would be very useful.
  105.  
  106. All optimizations were checked out using DEC's PCA, and this version appears
  107. to be optimal under VAX C.
  108.  
  109. As for cleaning up, there are verious areas which could be improved:
  110.  
  111. 1)      PGP's own erase on delete could be replaced by the standard VMS 
  112.         function so the file system does the work.
  113. 2)    PGP spends a long time moving data between temporary files. This
  114.     should be reduced where possible.
  115. 3)    We need an Open VMS/Alpha AXP version of PGP. This code has never
  116.     faced DEC C but it is reputably more ANSII compilant. The VAX.MAR
  117.     stuff should go through the MACRO-32 translator. Please advise me
  118.     if you have time to spare to make an Alpha port.
  119. 4)    I have never tried this stuff with VMS POSIX. The combination of VMS
  120.     and VAX C but with a Unix-like file system will blow the existing code
  121.     unless it is correctly conditionalised.
  122.  
  123. 2)      The random number generation uses a polling loop from the keyboard
  124.         which is neither nice nor necessary. A better approach would be to do
  125.         single character I/Os and fetch the system clock after each
  126.         character.
  127.  
  128. Contributing Authors
  129. --------------------
  130.  
  131. This port was originally performed by Hugh Kennedy with assistance from
  132. Mark Barsoum and others.
  133.  
  134. Support
  135. -------
  136.  
  137. This software is provided in the public domain and without charge other than
  138. for copying. For support issues concerning PGP and VAX/VMS, you are welcome 
  139. to contact me via Electronic Mail on Compuserve using ID 70042,710 and on the 
  140. Internet with 70042.710@compuserve.com. This software is provided "as-is" and 
  141. any support given will be of an informal nature.
  142.  
  143. Hugh A.J. Kennedy, 17th November 1992
  144.